const path = require("path");
module.exports = {
  // 基本路径
  publicPath: process.env.NODE_ENV === "production" ? "" : "/",
  // 输出文件目录
  outputDir: process.env.NODE_ENV === "production" ? "dist" : "devdist",
  // eslint-loader 是否在保存的时候检查
  lintOnSave: false,
  // 生产环境是否生成 sourceMap 文件
  productionSourceMap: false,
  // 对象和函数都可以，如果要控制开发环境可以选择函数
  configureWebpack: (config) => {
    config.resolve = {
      // 配置解析别名
      extensions: [".ts", ".js", ".json", ".vue"], // 自动添加文件名后缀
      alias: {
        "@": path.resolve(__dirname, "./src"),
        "@/components": path.resolve(__dirname, "./src/components"),
        "@/utils": path.resolve(__dirname, "./utils"),
      },
    };
  },
  // webpack-dev-server 相关配置
  devServer: {
    open: false, // 编译完成是否打开网页
    host: "0.0.0.0", // 指定使用地址，默认localhost,0.0.0.0代表可以被外界访问
    port: 8080, // 访问端口
    https: false, // 编译失败时刷新页面
    hot: true, // 开启热加载
    hotOnly: false,
    disableHostCheck: true,
    proxy: {
      "/api": {
        target: "http://localhost:3000", //API服务器的地址
        changeOrigin: true,
        pathRewrite: {
          "^/api": "/api", //这里为空是因为target已经附带了文件夹productapi,如果target只是一个url网址,则此处需要改为请求文件夹的名称
        },
      },
    },
  },
};
